package modelo.bo.cmd.operadora;

import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modelo.bo.cmd.Acao;
import modelo.bo.cmd.EICommand;
import modelo.dao.impl.OperadoraImpl;
import modelo.dao.util.ConexaoMySQL;
import modelo.dto.EEntidade;
import modelo.dto.Operadora;

public class AtualizarOperadora extends Acao {
	private Operadora oper;
	
	public AtualizarOperadora() {
		this.oper = new Operadora();
	}

	@Override
	public void init(HttpServletRequest request) {
		super.pagina = String.format("/contato/agenda.do?entidade=%s&cmd=%s", EEntidade.OPERADORA, EICommand.LISTAR);
		this.oper.setCodigo(Integer.parseInt(request.getParameter("id")));
		this.oper.setNomeOperadora(request.getParameter("nome"));
	}

	@Override
	public boolean executar(HttpServletRequest request, HttpServletResponse response) throws IOException {
		super.msg = String.format("Operadora %s atualizada.", this.oper.getNomeOperadora());
		
		try {
			OperadoraImpl oi = new OperadoraImpl(ConexaoMySQL.getConnection());
			
			if(oi.atualizar(this.oper)) {
				request.setAttribute("msg", super.msg);
			}
			
		}
		catch (SQLException e) {
			e.printStackTrace();
			super.msg = "Erro tentar atualizar operadora";
			request.setAttribute("msg", super.msg + e.getMessage());			
		}
		
		return super.efetuou;
	}

	@Override
	public String retornaPagina() {
		return super.pagina;
	}

}
